#Barebones language
#z = x^y 

clear z;
incr z;

decr x; #why the hell does this necessary ???????????????????????

while y not 0 do;
    
    copy z to i;
    while i not  0 do;
        #z=z+x
        
        #----------------------------------------------------- while x not 0 do;
            #----------------------------------------------------------- incr z;
            #----------------------------------------------------------- incr j;
            #----------------------------------------------------------- decr x;
        #------------------------------------------------------------------ end;
        #------------------------------------------------------------ #restore x
        #----------------------------------------------------- while j not 0 do;
            #----------------------------------------------------------- incr x;
            #----------------------------------------------------------- decr j;
        #------------------------------------------------------------------ end;

	#z = z + x
        copy x to j;
        while j not 0 do;
            incr z;
            decr j;
        end;
        
        decr i;
    end;
    
    decr y;
end;
